home *** CD-ROM | disk | FTP | other *** search
/ Macworld Expo - Develope…Central & Net Innovations / Developer Central and Net Innovators (MacWorld Expo) (January 1999).iso / Developer Central / Bowers Development / Demo AppMaker / Examples / Pascal OS8 / Everything / ModalBars.p < prev    next >
Encoding:
Text File  |  1998-10-30  |  7.5 KB  |  269 lines  |  [TEXT/CWIE]

  1. { ModalBars.p -- Modal dialog }
  2. { Created 10/30/98 1:06 PM by AppMaker }
  3.  
  4. Unit ModalBars;
  5. Interface
  6.  
  7. Uses
  8.     Types,
  9.     Quickdraw,
  10.     Controls,
  11.     Dialogs,
  12.     Events,
  13.     Lists,
  14.     Menus,
  15.     TextEdit,
  16.     DModalBarsData,
  17.     AMDialog;
  18.  
  19. type
  20.     CModalBars        = object (AMDialog)
  21.  
  22.     {data members}
  23.         mData:        DModalBarsData;
  24.  
  25.     mOKHandle:        ControlHandle;
  26.     mBarsHandle:        ControlHandle;
  27.     mStandardHandle:        ControlHandle;
  28.     mGraphicHandle:        ControlHandle;
  29.     mSliderHandle:        ControlHandle;
  30.     mTickMarksHandle:        ControlHandle;
  31.     mNonDirectionalHandle:        ControlHandle;
  32.     mLittleArrowsHandle:        ControlHandle;
  33.     mSpinnerHandle:        ControlHandle;
  34.     mVolumeControlHandle:        ControlHandle;
  35.     mJimSSliderHandle:        ControlHandle;
  36.     mStandard2Handle:        ControlHandle;
  37.     mIndeterminateHandle:        ControlHandle;
  38.     mChasingArrowsHandle:        ControlHandle;
  39.     mRectangleHandle:        ControlHandle;
  40.     mRoundRectHandle:        ControlHandle;
  41.     mBarberPoleHandle:        ControlHandle;
  42.     mRoundBarberHandle:        ControlHandle;
  43.  
  44.     {methods - public}
  45.         Procedure ConnectToData    (inData:    AMSignaler); Override;
  46.  
  47.     {methods - internal}
  48.         Procedure FinishMake; Override;
  49.         Procedure DoItem    (inItemHit:    SInt16); Override;
  50.         Procedure DataChanged    (inDataID:    longint); Override;
  51.  
  52.     end;
  53.  
  54. {----------}
  55. Function NewModalBars: CModalBars;
  56.  
  57. {----------}
  58. Function GetModalBars    (ioData:    DModalBarsData): Boolean;
  59.  
  60. {----------}
  61. Implementation
  62.  
  63. Uses
  64.     ResourceDefs,
  65.     ControlUtils,
  66.     Miscellany;
  67.  
  68. const
  69.     kOKButton        = 1;
  70.     kBarsPanel        = 2;
  71.     kScrollBarsLayer        = 3;
  72.     kStandardScroll        = 4;
  73.     kGraphicScroll        = 5;
  74.     kSliderScroll        = 6;
  75.     kTickMarksScroll        = 7;
  76.     kNonDirectionalScroll        = 8;
  77.     kLittleArrowsScroll        = 9;
  78.     kSpinnerScroll        = 10;
  79.     kVolumeControlScroll        = 11;
  80.     kJimSSliderScroll        = 12;
  81.     kProgressBarsLayer        = 13;
  82.     kStandard2Bar            = 14;
  83.     kIndeterminateBar            = 15;
  84.     kChasingArrowsBar            = 16;
  85.     kRectangleBar            = 17;
  86.     kRoundRectBar            = 18;
  87.     kBarberPoleBar            = 19;
  88.     kRoundBarberBar            = 20;
  89.  
  90.  
  91. {----------}
  92. Function NewModalBars: CModalBars;
  93. var
  94.     dialog:        CModalBars;
  95. begin
  96.     dialog := nil;
  97.     New (dialog);
  98.  
  99.     if dialog <> nil then begin
  100.         dialog.Initialize;
  101.     end;
  102.     NewModalBars := dialog;
  103. end;
  104.  
  105. {----------}
  106. Function GetModalBars (
  107.     ioData:        DModalBarsData): Boolean;
  108. Var
  109.     result:            Boolean;
  110.     dialog:            CModalBars;
  111. begin
  112.     result := false;
  113.     dialog := NewModalBars;
  114.  
  115.     result := dialog.RunModal (DLOG_ModalBars, ioData);
  116.  
  117.     dialog.Free;
  118.     Dispose (dialog);
  119.  
  120.     GetModalBars := result;
  121. end;
  122.  
  123. {----------}
  124. Procedure CModalBars.FinishMake;
  125. var
  126.     errCode:        OSErr;
  127. begin
  128.     mOKHandle := GetControlItem (kOKButton);
  129.     SetDefaultState (mOKHandle, true);
  130.     errCode := SetDialogDefaultItem (mDialog, kOKButton);
  131.     mBarsHandle := GetControlItem (kBarsPanel);
  132.     mStandardHandle := GetControlItem (kStandardScroll);
  133.     mGraphicHandle := GetControlItem (kGraphicScroll);
  134.     mSliderHandle := GetControlItem (kSliderScroll);
  135.     mTickMarksHandle := GetControlItem (kTickMarksScroll);
  136.     mNonDirectionalHandle := GetControlItem (kNonDirectionalScroll);
  137.     mLittleArrowsHandle := GetControlItem (kLittleArrowsScroll);
  138.     mSpinnerHandle := GetControlItem (kSpinnerScroll);
  139.     mVolumeControlHandle := GetControlItem (kVolumeControlScroll);
  140.     mJimSSliderHandle := GetControlItem (kJimSSliderScroll);
  141.     mStandard2Handle := GetControlItem (kStandard2Bar);
  142.     mIndeterminateHandle := GetControlItem (kIndeterminateBar);
  143.     mChasingArrowsHandle := GetControlItem (kChasingArrowsBar);
  144.     mRectangleHandle := GetControlItem (kRectangleBar);
  145.     mRoundRectHandle := GetControlItem (kRoundRectBar);
  146.     mBarberPoleHandle := GetControlItem (kBarberPoleBar);
  147.     mRoundBarberHandle := GetControlItem (kRoundBarberBar);
  148. end;
  149.  
  150. {----------}
  151. Procedure CModalBars.ConnectToData (
  152.     inData:        AMSignaler); Override;
  153. begin
  154.     inherited ConnectToData (inData);
  155.     mData := DModalBarsData (inData);
  156.  
  157.     SetControlValue (mBarsHandle, mData.GetBars2);
  158.     SetLayerGroupValue (mBarsHandle, GetControlValue (mBarsHandle));
  159.     SetControlValue (mStandardHandle, mData.GetStandard5);
  160.     SetControlValue (mGraphicHandle, mData.GetGraphic4);
  161.     SetControlValue (mSliderHandle, mData.GetSlider2);
  162.     SetControlValue (mTickMarksHandle, mData.GetTickMarks2);
  163.     SetControlValue (mNonDirectionalHandle, mData.GetNonDirectional2);
  164.     SetControlValue (mLittleArrowsHandle, mData.GetLittleArrows2);
  165.     SetControlValue (mSpinnerHandle, mData.GetSpinner2);
  166.     SetControlValue (mVolumeControlHandle, mData.GetVolumeControl2);
  167.     SetControlValue (mJimSSliderHandle, mData.GetJimSSlider2);
  168.     SetControlValue (mStandard2Handle, mData.GetStandard6);
  169.     SetControlValue (mIndeterminateHandle, mData.GetIndeterminate2);
  170.     SetControlValue (mChasingArrowsHandle, mData.GetChasingArrows2);
  171.     SetControlValue (mRectangleHandle, mData.GetRectangle2);
  172.     SetControlValue (mRoundRectHandle, mData.GetRoundRect2);
  173.     SetControlValue (mBarberPoleHandle, mData.GetBarberPole2);
  174.     SetControlValue (mRoundBarberHandle, mData.GetRoundBarber2);
  175. end;
  176.  
  177. {----------}
  178. Procedure CModalBars.DoItem (
  179.     inItemHit:        SInt16);
  180. begin
  181.     case inItemHit of
  182.     kOKButton:
  183.             SetResult (true);
  184.     kBarsPanel: begin
  185.             mData.SetBars2 (GetControlValue (mBarsHandle));
  186.             SetLayerGroupValue (mBarsHandle, GetControlValue (mBarsHandle));
  187.         end;
  188.     kStandardScroll:
  189.             mData.SetStandard5 (GetControlValue (mStandardHandle));
  190.     kGraphicScroll:
  191.             mData.SetGraphic4 (GetControlValue (mGraphicHandle));
  192.     kSliderScroll:
  193.             mData.SetSlider2 (GetControlValue (mSliderHandle));
  194.     kTickMarksScroll:
  195.             mData.SetTickMarks2 (GetControlValue (mTickMarksHandle));
  196.     kNonDirectionalScroll:
  197.             mData.SetNonDirectional2 (GetControlValue (mNonDirectionalHandle));
  198.     kLittleArrowsScroll:
  199.             mData.SetLittleArrows2 (GetControlValue (mLittleArrowsHandle));
  200.     kSpinnerScroll:
  201.             mData.SetSpinner2 (GetControlValue (mSpinnerHandle));
  202.     kVolumeControlScroll:
  203.             mData.SetVolumeControl2 (GetControlValue (mVolumeControlHandle));
  204.     kJimSSliderScroll:
  205.             mData.SetJimSSlider2 (GetControlValue (mJimSSliderHandle));
  206.  
  207.     end; {switch}
  208. end;
  209.  
  210. {----------}
  211. Procedure CModalBars.DataChanged (
  212.     inDataID:        longint); Override;
  213. begin
  214.     if inDataID = idBars2 then begin
  215.         SetControlValue (mBarsHandle, mData.GetBars2);
  216.         SetLayerGroupValue (mBarsHandle, mData.GetBars2);
  217.     end;
  218.     if inDataID = idStandard5 then begin
  219.         SetControlValue (mStandardHandle, mData.GetStandard5);
  220.     end;
  221.     if inDataID = idGraphic4 then begin
  222.         SetControlValue (mGraphicHandle, mData.GetGraphic4);
  223.     end;
  224.     if inDataID = idSlider2 then begin
  225.         SetControlValue (mSliderHandle, mData.GetSlider2);
  226.     end;
  227.     if inDataID = idTickMarks2 then begin
  228.         SetControlValue (mTickMarksHandle, mData.GetTickMarks2);
  229.     end;
  230.     if inDataID = idNonDirectional2 then begin
  231.         SetControlValue (mNonDirectionalHandle, mData.GetNonDirectional2);
  232.     end;
  233.     if inDataID = idLittleArrows2 then begin
  234.         SetControlValue (mLittleArrowsHandle, mData.GetLittleArrows2);
  235.     end;
  236.     if inDataID = idSpinner2 then begin
  237.         SetControlValue (mSpinnerHandle, mData.GetSpinner2);
  238.     end;
  239.     if inDataID = idVolumeControl2 then begin
  240.         SetControlValue (mVolumeControlHandle, mData.GetVolumeControl2);
  241.     end;
  242.     if inDataID = idJimSSlider2 then begin
  243.         SetControlValue (mJimSSliderHandle, mData.GetJimSSlider2);
  244.     end;
  245.     if inDataID = idStandard6 then begin
  246.         SetControlValue (mStandard2Handle, mData.GetStandard6);
  247.     end;
  248.     if inDataID = idIndeterminate2 then begin
  249.         SetControlValue (mIndeterminateHandle, mData.GetIndeterminate2);
  250.     end;
  251.     if inDataID = idChasingArrows2 then begin
  252.         SetControlValue (mChasingArrowsHandle, mData.GetChasingArrows2);
  253.     end;
  254.     if inDataID = idRectangle2 then begin
  255.         SetControlValue (mRectangleHandle, mData.GetRectangle2);
  256.     end;
  257.     if inDataID = idRoundRect2 then begin
  258.         SetControlValue (mRoundRectHandle, mData.GetRoundRect2);
  259.     end;
  260.     if inDataID = idBarberPole2 then begin
  261.         SetControlValue (mBarberPoleHandle, mData.GetBarberPole2);
  262.     end;
  263.     if inDataID = idRoundBarber2 then begin
  264.         SetControlValue (mRoundBarberHandle, mData.GetRoundBarber2);
  265.     end;
  266. end;
  267.  
  268. End.
  269.